/**
 * @file
 * @auth zhaojing
 * @date 202016/11/28
 */

import {REG_EMAIL, REG_PHONE} from '../../grsc-base/common/constants';

export default {

    formatMsgZero(msg) {
        const REG = /^(.+\d+)\.0+(.*)$/;
        return msg.replace(REG, '$1$2');
    },

    /**
     * 补零
     * @param num
     * @param len
     * @returns {*}
     */
    formatZeroSuffix(num, len) {
        let arrs = (num + '').split('.');

        let d = arrs[1];
        let l;

        // 没有小数点
        if (d === undefined) {
            return num + '.' + getZeros(len, 0);
        } else if (d === '') {  // 最后一位是小数点
            return num + getZeros(len , 0);
        } else {
            l = d.length;
            return num + getZeros(len, l);
        }

        function getZeros(len, l) {
            let zeros = '';
            for (let i = 0; i < len - l; i++) {
                zeros = zeros + '0';
            }
            return zeros;
        }
    },

    /**
     *
     * @param emailOrPhone
     */
    getEncryptedText(emailOrPhone) {
        emailOrPhone = emailOrPhone + '';
        if (REG_EMAIL.test(emailOrPhone) === true) {
            return this.getSuffixEmail(emailOrPhone);
        } else {
            return this.getSuffixPhone(emailOrPhone);
        }
    },

    /**
     * 将郵箱加密
     * @param email
     */
    getSuffixEmail(email) {
        let idx = email.indexOf('@');
        let passedStr = email.substring(2, idx);
        return email.replace(passedStr, '****');
    },

    /**
     * 將電話加密顯示
     * @param phone
     * @returns {string}
     */
    getSuffixPhone(phone) {
        phone = phone + '';
        let passedStr = phone.substring(3, 7);
        return phone.replace(passedStr, '****');
    },

    /**
     * 加密銀行卡
     * @param bankCode
     * @returns {string}
     */
    getSuffixBank(bankCode) {
        bankCode = bankCode + '';
        let len = bankCode.length;
        let passedStr = bankCode.substring(4, len - 4);
        return bankCode.replace(passedStr, '****');
    },

    /**
     * 获取银行卡后4位
     * @param bankCode
     * @returns {string}
     */
    getSuffixBankCode(bankCode) {
        bankCode = bankCode + '';   // 强制转变成字符串
        return bankCode.substr(-4);
    },

    /**
     * 获取银行卡号每4位空格间隔
     * @param bankCode
     * @returns {string}
     */
    get4SpaceBankCode(str){
        if(typeof str === 'number' || typeof str === 'string'){
            str = ''+str;
            return str.replace(/\s/g,'').replace(/(\d{4})(?=\d)/g,"$1 ")
        }
        return '请传入string number格式'
    },

    /**
     * 总资产数据
     * @param bankName
     * @returns {*}
     * */
    getBankIconByName(bankName) {

        /**
         * 中国工商银行-ICBC
         招商银行-CMB
         中国建设银行-CBC
         中国银行-BC
         中国农业银行-ABC
         交通银行-BCM
         中国邮政储蓄银行-PSBC
         上海浦东发展银行-SPDB
         广东发展银行-GDB
         中信银行-CITIC
         中国光大银行-CEB
         兴业银行-CIB
         中国民生银行-CMBC
         华夏银行-HXB
         北京银行-BOB
         浙商银行-CZB
         */
        let iconName = '';
        switch (bankName) {
            case '中国工商银行':
                iconName = 'ICBC';
                break;
            case '招商银行':
                iconName = 'CMB';
                break;
            case '中国建设银行':
                iconName = 'CCB';
                break;
            case '中国银行':
                iconName = 'BOC';
                break;
            case '中国农业银行':
                iconName = 'ABC';
                break;
            case '交通银行':
                iconName = 'BCM';
                break;
            case '中国邮政储蓄银行':
                iconName = 'PSBC';
                break;
            case '上海浦东发展银行':
                iconName = 'SPDB';
                break;
            case '广发银行':
                iconName = 'GDB';
                break;
            case '中信银行':
                iconName = 'CITIC';
                break;
            case '中国光大银行':
                iconName = 'CEB';
                break;
            case '兴业银行':
                iconName = 'CIB';
                break;
            case '中国民生银行':
                iconName = 'CMBC';
                break;
            case '华夏银行':
                iconName = 'HXB';
                break;
            case '北京银行':
                iconName = 'BOB';
                break;
            case '浙商银行天津分行':
                iconName = 'CZB';
                break;
            case '浙商银行':
                iconName = 'CZB';
                break;
            default:
                iconName = 'BANK_OTHER';
        }
        return iconName;
    }

};
